The present invention relates to a process and an apparatus for determining the magnitude of the jumps to be commanded in a printing machine, notably a printer used in data processing.
The printing base of a printer used in a data processing system generally is in the form of a sequence of paper sheets which may be detached by means of tearing transverse perforations defining an upper and lower edge for each sheet.
Driving these sheets in front of the printing device is commanded by "jump", each jump causing a "paper advance" evaluated in the number of spaces between lines, or, for short, "spaces".
When an analyst defines the page-setting of an office-equipment print, he indicates the levels at which the various data must be printed on the sheet of which this print is made. The programmer, who is charged with drawing up the sequence of printing, is sometimes unable to define the distance, or the number of spaces, separating two consecutive printing lines respectively assigned to two different kinds of data, on account of the fact that the number of data likely to be printed is not always constant.
If, for instance, a bill for accounts due is involved, the gaps separating the name from the address of the client, and the address from the first article object of the bill may be easily determined; on the other hand, the number of articles billed being variable, the distance from the last article billed to the amount or total of the bill, the location of such total being fixed, cannot be predetermined.
A number of solutions have been proposed for this problem.
One of them uses a "mechanical control band", or, a paper strip or tape; the length of the sheet on which the stopping levels assigned to the various kinds of data that may be printed is indicated by perforations, the positions of the perforations with respect to the upper edge of the strip or tape defining the distances separating said levels from the upper edge of a sheet, and the positions of the perforations between the lateral edges of said tape defining the kind of data to which said levels are assigned. The control or pilot tape is mounted on a mechanical base which is solidly connected with the paper drive mechanism; the tape moves in synchronism with the sheet; a read-out device comprising as many reading heads as there are positions or "channels" defined between the lateral tape edges allows detecting the perforations. The drive motor which causes the paper to advance is controlled when selecting the reading head associated with the channel for the kind of data to be printed. Paper motion continues till there is detection of a perforation in the channel under consideration. The above-described solution offers the disadvantage of forcing the user to replace the control band each time he changes from one kind of print to another.
A more elaborate solution uses a memory comprising as many positions as there are spaces in a sheet. Each memory position may store a channel number, so that one may identify each stopping level with a particular kind of data. A space counter coupled to the jump motor continuously indicates the distance between the printing line of the printer and the upper edge of the sheet holding said printing line. Simultaneously with the jump motor command, data is provided, identifying the channel number assigned to the kind of data to be printed. The memory is swept from the position corresponding to the space counter contents; this sweep occurs in synchronism with the paper motion; it allows reading and comparing the contents of each memory position with the channel number obtained from the command. The jump will stop when there is equality. The memory contains an "end of sheet" code allowing reset to zero of the space counter.
The latter solution suffers from a number of drawbacks, among which is the requirement of a fairly large-capacity memory; further it does not allow for the assigning of identical stopping levels to different channels.